Привет!
Есть пхп скрипт который работает например 20 секунд.
есть ajax - 1й запрос -вызов пхп скрипта, потом другая функция проверяет результат через другой скрипт (первый скрипт отписывается в базу о том сколько он выполнил , а второй пхп скрпт как раз берет из базы значение и выводит)
ПРоблема в том что первый запрос ждет выполнение пхп скрпта в 20 секунд , иногда выводит пустые сообщения а потом после 20 сек все ок..
function check_note()
{
str = document.getElementById('note').value;
if (str=="") { alert('EMPTY note'); return 0; }
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=check_fast()
hash = document.getElementById('hash').value;
xmlhttp.open("GET","job.php?note="+str+"&hash="+hash,true);
xmlhttp.send();
}
function isnum( nn ) {
return res = ( nn / nn ) ? true : false;
}
function check_fast() {
alert('check fast');
hash = document.getElementById('hash').value;
check_result = document.getElementById('result');
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{ if(!isnum(xmlhttp.responseText)) { check_result.innerHTML=xmlhttp.responseText; alert(xmlhttp.responseText); alert('ne chislo');return 0; }
check_result.innerHTML=xmlhttp.responseText;
alert(xmlhttp.responseText);
setTimeout(check_fast, 2000)
}
}
hash = document.getElementById('hash').value;
xmlhttp.open("GET","check.php?hash="+hash,true);
xmlhttp.send();
}